package org.example.service;

import org.example.domain.Comment;

import java.util.List;

public interface CommentService {
    /**
     * 创建评论
     * @param comment 评论信息
     * @return 创建的评论
     */
    public org.example.domain.Comment createComment(Comment comment);

    /**
     * 获取帖子的评论列表
     * @param postId 帖子ID
     * @return 评论列表
     */
    public List<org.example.domain.Comment> getPostComments(String postId);

    /**
     * 获取评论的回复列表
     * @param commentId 评论ID
     * @return 回复列表
     */
    public List<org.example.domain.Comment> getCommentReplies(String commentId);

    /**
     * 获取指定帖子下特定评论的所有回复
     * @param postId 帖子ID
     * @param commentId 评论ID
     * @return 评论回复列表
     */
    List<Comment> getPostCommentReplies(String postId, String commentId);

    /**
     * 获取一个帖子的总评论数
     * @param postId 帖子ID
     * @return 评论总数
     */
    int getTotalCountByPostId(String postId);

    /**
     * 获取指定帖子下某条评论的所有子评论
     * @param postId 帖子ID
     * @param commentId 评论ID
     * @return 子评论列表
     */
    List<Comment> getLowerComments(String postId, String commentId);
}
